package com.ruoyi.generator.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
import lombok.Data;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 代码生成业务字段对象 gen_table_column_sql
 *
 * @author 众智汇云研发部
 * @date 2021-11-25
 */
@Data
@ApiModel(value="gen_table_column_sql对象", description="代码生成业务字段")
public class GenTableColumnSql extends BaseEntity{

    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 归属表编号 */
    private String tableId;

    /** 列名称 */
    @Excel(name = "列名称")
    @ApiModelProperty(value = "列名称", name = "name", dataType = "String")
    private String name;

    /** 列描述 */
    @Excel(name = "列描述")
    @ApiModelProperty(value = "列描述", name = "comment", dataType = "String")
    private String comment;

    /** 列类型 */
    @Excel(name = "列类型")
    @ApiModelProperty(value = "列类型", name = "	 columnType", dataType = "String")
    private String 	 columnType;

    /** 列别名 */
    @Excel(name = "列别名")
    @ApiModelProperty(value = "列别名", name = "asname", dataType = "String")
    private String asname;

    /** JAVA类型 */
    @Excel(name = "JAVA类型")
    @ApiModelProperty(value = "JAVA类型", name = "javaType", dataType = "String")
    private String javaType;

    /** JAVA字段名 */
    @Excel(name = "JAVA字段名")
    @ApiModelProperty(value = "JAVA字段名", name = "field", dataType = "String")
    private String field;

    /** 是否主键（1是） */
    @Excel(name = "是否主键", readConverterExp = "1是")
    @ApiModelProperty(value = "是否主键（1是）", name = "pk", dataType = "String")
    private String pk;

    /** 是否自增（1是） */
    @Excel(name = "是否自增", readConverterExp = "1是")
    @ApiModelProperty(value = "是否自增（1是）", name = "increment", dataType = "String")
    private String increment;

    /** 是否必填（1是） */
    @Excel(name = "是否必填", readConverterExp = "1是")
    @ApiModelProperty(value = "是否必填（1是）", name = "required", dataType = "String")
    private String required;

    /** 是否为插入字段（1是） */
    @Excel(name = "是否为插入字段", readConverterExp = "1是")
    @ApiModelProperty(value = "是否为插入字段（1是）", name = "insert", dataType = "String")
    private String insert;

    /** 是否编辑字段（1是） */
    @Excel(name = "是否编辑字段", readConverterExp = "1是")
    @ApiModelProperty(value = "是否编辑字段（1是）", name = "edit", dataType = "String")
    private String edit;

    /** 是否列表字段（1是） */
    @Excel(name = "是否列表字段", readConverterExp = "1是")
    @ApiModelProperty(value = "是否列表字段（1是）", name = "list", dataType = "String")
    private String list;

    /** 是否查询字段（1是） */
    @Excel(name = "是否查询字段", readConverterExp = "1是")
    @ApiModelProperty(value = "是否查询字段（1是）", name = "query", dataType = "String")
    private String query;

    /** 查询方式（等于、不等于、大于、小于、范围） */
    @Excel(name = "查询方式", readConverterExp = "等于、不等于、大于、小于、范围")
    @ApiModelProperty(value = "查询方式（等于、不等于、大于、小于、范围）", name = "queryType", dataType = "String")
    private String queryType;

    /** 显示类型（文本框、文本域、下拉框、复选框、单选框、日期控件） */
    @Excel(name = "显示类型", readConverterExp = "文本框、文本域、下拉框、复选框、单选框、日期控件")
    @ApiModelProperty(value = "显示类型（文本框、文本域、下拉框、复选框、单选框、日期控件）", name = "htmlType", dataType = "String")
    private String htmlType;

    /** 字典类型 */
    @Excel(name = "字典类型")
    @ApiModelProperty(value = "字典类型", name = "dictType", dataType = "String")
    private String dictType;

    /** 排序 */
    @Excel(name = "排序")
    @ApiModelProperty(value = "排序", name = "sort", dataType = "Long")
    private Long sort;

}
